package com.laker.autotest.testcase;

import com.laker.autotest.core.BasePageTest;
import com.microsoft.playwright.Locator;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.options.AriaRole;
import org.testng.annotations.Test;

import java.nio.file.Paths;
import java.util.regex.Pattern;

/**
 * <pre>
 *  注意 注意 注意 建议仅用于快速验证。
 * <br>
 * 快速录制 + 代码生成 + 快速回放
 * <ol>
 *   <li>执行 {@link com.laker.autotest.dev.Record} 录制脚本</li>
 *   <li>复制生成的代码到 {@link com.laker.autotest.testcase.tmp.FastRecordTest}，只复制 {@code page.navigate(...)} 之后的代码。</li>
 *   <li>把复制的代码填充到 {@link com.laker.autotest.testcase.tmp.FastRecordTest#execute() FastRecordTest.execute()} 方法中。</li>
 *   <li>执行 {@link com.laker.autotest.testcase.tmp.FastRecordTest} 回放脚本</li>
 * </ol>
 * </pre>
 */
public class FastRecordTest extends BasePageTest {
    @Test
    public void execute() {
        page.navigate("https://www.filemail.com/zh/share/upload-file");
        page.getByText("以email傳送").click();
        page.locator("div").filter(new Locator.FilterOptions().setHasText(Pattern.compile("^以链接方式传送$"))).locator("i").click();
        page.getByPlaceholder("标题").click();
        page.getByPlaceholder("标题").fill("啥地方");
        page.getByPlaceholder("下載網頁顯示的信息").click();
        page.getByPlaceholder("下載網頁顯示的信息").fill("阿第三方");
        page.getByText("添加文件").click();
        page.getByLabel("添加文件").setInputFiles(Paths.get("README.md"));
        page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName(" 发送")).click();
        page.getByText("上传文件高达5GB - 安全、匿名、快速、免费 上传文件、文档、视频、音乐、图片，如果是数码产品，你可以上传并分享下载链接。").click();
    }
}
